home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 February: Tool Chest / Apple Developer CD Series Tool Chest February 1996 (Apple Computer)(1996).iso / Tool Chest / Interfaces & Libraries / Interfaces / PInterfaces / Dialogs.p < prev    next >
Encoding:
Text File  |  1995-07-06  |  11.7 KB  |  449 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Dialogs.p
  3.  
  4.      Contains:    Dialog Manager interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.1 in “MPW Latest” on ETO #18
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. }
  19.  
  20. {$IFC UNDEFINED UsingIncludes}
  21. {$SETC UsingIncludes := 0}
  22. {$ENDC}
  23.  
  24. {$IFC NOT UsingIncludes}
  25.  UNIT Dialogs;
  26.  INTERFACE
  27. {$ENDC}
  28.  
  29. {$IFC UNDEFINED __DIALOGS__}
  30. {$SETC __DIALOGS__ := 1}
  31.  
  32. {$I+}
  33. {$SETC DialogsIncludes := UsingIncludes}
  34. {$SETC UsingIncludes := 1}
  35.  
  36.  
  37. {$IFC UNDEFINED __ERRORS__}
  38. {$I Errors.p}
  39. {$ENDC}
  40. {    ConditionalMacros.p                                            }
  41.  
  42. {$IFC UNDEFINED __MEMORY__}
  43. {$I Memory.p}
  44. {$ENDC}
  45. {    Types.p                                                        }
  46. {    MixedMode.p                                                    }
  47.  
  48. {$IFC UNDEFINED __MENUS__}
  49. {$I Menus.p}
  50. {$ENDC}
  51. {    Quickdraw.p                                                    }
  52. {        QuickdrawText.p                                            }
  53.  
  54. {$IFC UNDEFINED __CONTROLS__}
  55. {$I Controls.p}
  56. {$ENDC}
  57.  
  58. {$IFC UNDEFINED __WINDOWS__}
  59. {$I Windows.p}
  60. {$ENDC}
  61. {    Events.p                                                    }
  62. {        OSUtils.p                                                }
  63.  
  64. {$IFC UNDEFINED __TEXTEDIT__}
  65. {$I TextEdit.p}
  66. {$ENDC}
  67.  
  68. {$IFC UNDEFINED __EVENTS__}
  69. {$I Events.p}
  70. {$ENDC}
  71.  
  72. {$PUSH}
  73. {$ALIGN MAC68K}
  74. {$LibExport+}
  75.  
  76. CONST
  77.     ctrlItem                    = 4;
  78.     btnCtrl                        = 0;
  79.     chkCtrl                        = 1;
  80.     radCtrl                        = 2;
  81.     resCtrl                        = 3;
  82.     statText                    = 8;
  83.     editText                    = 16;
  84.     iconItem                    = 32;
  85.     picItem                        = 64;
  86.     userItem                    = 0;
  87.     itemDisable                    = 128;
  88.     ok                            = 1;
  89.     cancel                        = 2;
  90.     stopIcon                    = 0;
  91.     noteIcon                    = 1;
  92.     cautionIcon                    = 2;
  93.  
  94. { new, more standard names for dialog item constants }
  95.     kControlDialogItem            = ctrlItem;
  96.     kButtonDialogItem            = ctrlItem + btnCtrl;
  97.     kCheckBoxDialogItem            = ctrlItem + chkCtrl;
  98.     kRadioButtonDialogItem        = ctrlItem + radCtrl;
  99.     kResourceControlDialogItem    = ctrlItem + resCtrl;
  100.     kStaticTextDialogItem        = statText;
  101.     kEditTextDialogItem            = editText;
  102.     kIconDialogItem                = iconItem;
  103.     kPictureDialogItem            = picItem;
  104.     kUserDialogItem                = userItem;
  105.     kItemDisableBit                = itemDisable;
  106.     kStdOkItemIndex                = ok;
  107.     kStdCancelItemIndex            = cancel;
  108.     kStopIcon                    = stopIcon;
  109.     kNoteIcon                    = noteIcon;
  110.     kCautionIcon                = cautionIcon;
  111.  
  112. {$IFC OLDROUTINENAMES }
  113.     kOkItemIndex                = kStdOkItemIndex;
  114.     kCancelItemIndex            = kStdCancelItemIndex;
  115.  
  116. {$ENDC}
  117.     
  118. TYPE
  119.     DITLMethod = SInt16;
  120.  
  121.  
  122. CONST
  123.     overlayDITL                    = 0;
  124.     appendDITLRight                = 1;
  125.     appendDITLBottom            = 2;
  126.  
  127.     
  128. TYPE
  129.     StageList = INTEGER;
  130.  
  131.     DialogPropertyTag = OSType;
  132.  
  133. {$IFC STRICT_WINDOWS }
  134.     DialogPtr = Ptr;
  135.  
  136.     DialogRef = Ptr;
  137.  
  138. {$ELSEC}
  139.     DialogPtr = WindowPtr;
  140.  
  141.     DialogRef = DialogPtr;
  142.  
  143. {$ENDC}
  144.     SoundProcPtr = ProcPtr;  { PROCEDURE Sound(soundNumber: INTEGER); }
  145.     ModalFilterProcPtr = ProcPtr;  { FUNCTION ModalFilter(theDialog: DialogPtr; VAR theEvent: EventRecord; VAR itemHit: INTEGER): BOOLEAN; }
  146.     UserItemProcPtr = ProcPtr;  { PROCEDURE UserItem(theWindow: WindowPtr; itemNo: INTEGER); }
  147.     SoundUPP = UniversalProcPtr;
  148.     ModalFilterUPP = UniversalProcPtr;
  149.     UserItemUPP = UniversalProcPtr;
  150.  
  151. CONST
  152.     uppSoundProcInfo = $00000080; { PROCEDURE (2 byte param); }
  153.     uppModalFilterProcInfo = $00000FD0; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 1 byte result; }
  154.     uppUserItemProcInfo = $000002C0; { PROCEDURE (4 byte param, 2 byte param); }
  155.  
  156. FUNCTION NewSoundProc(userRoutine: SoundProcPtr): SoundUPP;
  157.     {$IFC NOT GENERATINGCFM }
  158.     INLINE $2E9F;
  159.     {$ENDC}
  160.  
  161. FUNCTION NewModalFilterProc(userRoutine: ModalFilterProcPtr): ModalFilterUPP;
  162.     {$IFC NOT GENERATINGCFM }
  163.     INLINE $2E9F;
  164.     {$ENDC}
  165.  
  166. FUNCTION NewUserItemProc(userRoutine: UserItemProcPtr): UserItemUPP;
  167.     {$IFC NOT GENERATINGCFM }
  168.     INLINE $2E9F;
  169.     {$ENDC}
  170.  
  171. PROCEDURE CallSoundProc(soundNumber: INTEGER; userRoutine: SoundUPP);
  172.     {$IFC NOT GENERATINGCFM}
  173.     INLINE $205F, $4E90;
  174.     {$ENDC}
  175.  
  176. FUNCTION CallModalFilterProc(theDialog: DialogPtr; VAR theEvent: EventRecord; VAR itemHit: INTEGER; userRoutine: ModalFilterUPP): BOOLEAN;
  177.     {$IFC NOT GENERATINGCFM}
  178.     INLINE $205F, $4E90;
  179.     {$ENDC}
  180.  
  181. PROCEDURE CallUserItemProc(theWindow: WindowPtr; itemNo: INTEGER; userRoutine: UserItemUPP);
  182.     {$IFC NOT GENERATINGCFM}
  183.     INLINE $205F, $4E90;
  184.     {$ENDC}
  185. {$IFC NOT STRICT_WINDOWS }
  186.  
  187. TYPE
  188.     DialogRecord = RECORD
  189.         window:                    WindowRecord;
  190.         items:                    Handle;
  191.         textH:                    TEHandle;
  192.         editField:                INTEGER;
  193.         editOpen:                INTEGER;
  194.         aDefItem:                INTEGER;
  195.     END;
  196.  
  197.     DialogPeek = ^DialogRecord;
  198.  
  199. {$ENDC}
  200.  
  201. TYPE
  202.     DialogTemplate = RECORD
  203.         boundsRect:                Rect;
  204.         procID:                    INTEGER;
  205.         visible:                BOOLEAN;
  206.         filler1:                BOOLEAN;
  207.         goAwayFlag:                BOOLEAN;
  208.         filler2:                BOOLEAN;
  209.         refCon:                    LONGINT;
  210.         itemsID:                INTEGER;
  211.         title:                    Str255;
  212.     END;
  213.  
  214.     DialogTPtr = ^DialogTemplate;
  215.     DialogTHndl = ^DialogTPtr;
  216.  
  217.     AlertTemplate = RECORD
  218.         boundsRect:                Rect;
  219.         itemsID:                INTEGER;
  220.         stages:                    StageList;
  221.     END;
  222.  
  223.     AlertTPtr = ^AlertTemplate;
  224.     AlertTHndl = ^AlertTPtr;
  225.  
  226.  
  227. PROCEDURE InitDialogs(ignored: UNIV Ptr);
  228.     {$IFC NOT GENERATINGCFM}
  229.     INLINE $A97B;
  230.     {$ENDC}
  231. PROCEDURE ErrorSound(soundProc: SoundUPP);
  232.     {$IFC NOT GENERATINGCFM}
  233.     INLINE $A98C;
  234.     {$ENDC}
  235. FUNCTION NewDialog(wStorage: UNIV Ptr; {CONST}VAR boundsRect: Rect; title: ConstStr255Param; visible: BOOLEAN; procID: INTEGER; behind: WindowRef; goAwayFlag: BOOLEAN; refCon: LONGINT; itmLstHndl: Handle): DialogRef;
  236.     {$IFC NOT GENERATINGCFM}
  237.     INLINE $A97D;
  238.     {$ENDC}
  239. FUNCTION GetNewDialog(dialogID: INTEGER; dStorage: UNIV Ptr; behind: WindowRef): DialogRef;
  240.     {$IFC NOT GENERATINGCFM}
  241.     INLINE $A97C;
  242.     {$ENDC}
  243. PROCEDURE CloseDialog(theDialog: DialogRef);
  244.     {$IFC NOT GENERATINGCFM}
  245.     INLINE $A982;
  246.     {$ENDC}
  247. PROCEDURE DisposeDialog(theDialog: DialogRef);
  248.     {$IFC NOT GENERATINGCFM}
  249.     INLINE $A983;
  250.     {$ENDC}
  251. PROCEDURE ParamText(param0: ConstStr255Param; param1: ConstStr255Param; param2: ConstStr255Param; param3: ConstStr255Param);
  252.     {$IFC NOT GENERATINGCFM}
  253.     INLINE $A98B;
  254.     {$ENDC}
  255. PROCEDURE ModalDialog(modalFilter: ModalFilterUPP; VAR itemHit: INTEGER);
  256.     {$IFC NOT GENERATINGCFM}
  257.     INLINE $A991;
  258.     {$ENDC}
  259. FUNCTION IsDialogEvent({CONST}VAR theEvent: EventRecord): BOOLEAN;
  260.     {$IFC NOT GENERATINGCFM}
  261.     INLINE $A97F;
  262.     {$ENDC}
  263. FUNCTION DialogSelect({CONST}VAR theEvent: EventRecord; VAR theDialog: DialogRef; VAR itemHit: INTEGER): BOOLEAN;
  264.     {$IFC NOT GENERATINGCFM}
  265.     INLINE $A980;
  266.     {$ENDC}
  267. PROCEDURE DrawDialog(theDialog: DialogRef);
  268.     {$IFC NOT GENERATINGCFM}
  269.     INLINE $A981;
  270.     {$ENDC}
  271. PROCEDURE UpdateDialog(theDialog: DialogRef; updateRgn: RgnHandle);
  272.     {$IFC NOT GENERATINGCFM}
  273.     INLINE $A978;
  274.     {$ENDC}
  275. FUNCTION Alert(alertID: INTEGER; modalFilter: ModalFilterUPP): INTEGER;
  276.     {$IFC NOT GENERATINGCFM}
  277.     INLINE $A985;
  278.     {$ENDC}
  279. FUNCTION StopAlert(alertID: INTEGER; modalFilter: ModalFilterUPP): INTEGER;
  280.     {$IFC NOT GENERATINGCFM}
  281.     INLINE $A986;
  282.     {$ENDC}
  283. FUNCTION NoteAlert(alertID: INTEGER; modalFilter: ModalFilterUPP): INTEGER;
  284.     {$IFC NOT GENERATINGCFM}
  285.     INLINE $A987;
  286.     {$ENDC}
  287. FUNCTION CautionAlert(alertID: INTEGER; modalFilter: ModalFilterUPP): INTEGER;
  288.     {$IFC NOT GENERATINGCFM}
  289.     INLINE $A988;
  290.     {$ENDC}
  291. PROCEDURE GetDialogItem(theDialog: DialogRef; itemNo: INTEGER; VAR itemType: INTEGER; VAR item: Handle; VAR box: Rect);
  292.     {$IFC NOT GENERATINGCFM}
  293.     INLINE $A98D;
  294.     {$ENDC}
  295. PROCEDURE SetDialogItem(theDialog: DialogRef; itemNo: INTEGER; itemType: INTEGER; item: Handle; {CONST}VAR box: Rect);
  296.     {$IFC NOT GENERATINGCFM}
  297.     INLINE $A98E;
  298.     {$ENDC}
  299. PROCEDURE HideDialogItem(theDialog: DialogRef; itemNo: INTEGER);
  300.     {$IFC NOT GENERATINGCFM}
  301.     INLINE $A827;
  302.     {$ENDC}
  303. PROCEDURE ShowDialogItem(theDialog: DialogRef; itemNo: INTEGER);
  304.     {$IFC NOT GENERATINGCFM}
  305.     INLINE $A828;
  306.     {$ENDC}
  307. PROCEDURE SelectDialogItemText(theDialog: DialogRef; itemNo: INTEGER; strtSel: INTEGER; endSel: INTEGER);
  308.     {$IFC NOT GENERATINGCFM}
  309.     INLINE $A97E;
  310.     {$ENDC}
  311. PROCEDURE GetDialogItemText(item: Handle; VAR text: Str255);
  312.     {$IFC NOT GENERATINGCFM}
  313.     INLINE $A990;
  314.     {$ENDC}
  315. PROCEDURE SetDialogItemText(item: Handle; text: ConstStr255Param);
  316.     {$IFC NOT GENERATINGCFM}
  317.     INLINE $A98F;
  318.     {$ENDC}
  319. FUNCTION FindDialogItem(theDialog: DialogRef; thePt: Point): INTEGER;
  320.     {$IFC NOT GENERATINGCFM}
  321.     INLINE $A984;
  322.     {$ENDC}
  323. FUNCTION NewColorDialog(dStorage: UNIV Ptr; {CONST}VAR boundsRect: Rect; title: ConstStr255Param; visible: BOOLEAN; procID: INTEGER; behind: WindowRef; goAwayFlag: BOOLEAN; refCon: LONGINT; items: Handle): DialogRef;
  324.     {$IFC NOT GENERATINGCFM}
  325.     INLINE $AA4B;
  326.     {$ENDC}
  327. FUNCTION GetAlertStage : INTEGER;
  328.     {$IFC NOT CFMSYSTEMCALLS}
  329.     INLINE $3EB8, $0A9A;            { MOVE.w $0A9A,(SP) }
  330.     {$ENDC}
  331.  
  332. PROCEDURE ResetAlertStage;
  333.     {$IFC NOT GENERATINGCFM}
  334.     INLINE $4278, $0A9A;
  335.     {$ENDC}
  336. PROCEDURE DialogCut(theDialog: DialogRef);
  337. PROCEDURE DialogPaste(theDialog: DialogRef);
  338. PROCEDURE DialogCopy(theDialog: DialogRef);
  339. PROCEDURE DialogDelete(theDialog: DialogRef);
  340. PROCEDURE SetDialogFont( value: INTEGER );
  341.     {$IFC NOT CFMSYSTEMCALLS}
  342.     INLINE $31DF, $0AFA;            { MOVE.w (SP)+,$0AFA }
  343.     {$ENDC}
  344.  
  345. PROCEDURE AppendDITL(theDialog: DialogRef; theHandle: Handle; method: DITLMethod);
  346. FUNCTION CountDITL(theDialog: DialogRef): INTEGER;
  347. PROCEDURE ShortenDITL(theDialog: DialogRef; numberItems: INTEGER);
  348. FUNCTION StdFilterProc(theDialog: DialogRef; VAR event: EventRecord; VAR itemHit: INTEGER): BOOLEAN;
  349. FUNCTION GetStdFilterProc(VAR theProc: ModalFilterUPP): OSErr;
  350.     {$IFC NOT GENERATINGCFM}
  351.     INLINE $303C, $0203, $AA68;
  352.     {$ENDC}
  353. FUNCTION SetDialogDefaultItem(theDialog: DialogRef; newItem: INTEGER): OSErr;
  354.     {$IFC NOT GENERATINGCFM}
  355.     INLINE $303C, $0304, $AA68;
  356.     {$ENDC}
  357. FUNCTION SetDialogCancelItem(theDialog: DialogRef; newItem: INTEGER): OSErr;
  358.     {$IFC NOT GENERATINGCFM}
  359.     INLINE $303C, $0305, $AA68;
  360.     {$ENDC}
  361. FUNCTION SetDialogTracksCursor(theDialog: DialogRef; tracks: BOOLEAN): OSErr;
  362.     {$IFC NOT GENERATINGCFM}
  363.     INLINE $303C, $0306, $AA68;
  364.     {$ENDC}
  365. {$IFC OLDROUTINENAMES }
  366. {$IFC NOT GENERATINGCFM }
  367. PROCEDURE CouldDialog(dialogID: INTEGER);
  368.     {$IFC NOT GENERATINGCFM}
  369.     INLINE $A979;
  370.     {$ENDC}
  371. PROCEDURE FreeDialog(dialogID: INTEGER);
  372.     {$IFC NOT GENERATINGCFM}
  373.     INLINE $A97A;
  374.     {$ENDC}
  375. PROCEDURE CouldAlert(alertID: INTEGER);
  376.     {$IFC NOT GENERATINGCFM}
  377.     INLINE $A989;
  378.     {$ENDC}
  379. PROCEDURE FreeAlert(alertID: INTEGER);
  380.     {$IFC NOT GENERATINGCFM}
  381.     INLINE $A98A;
  382.     {$ENDC}
  383. {$ENDC}
  384. PROCEDURE DisposDialog(theDialog: DialogRef);
  385.     {$IFC NOT GENERATINGCFM}
  386.     INLINE $A983;
  387.     {$ENDC}
  388. PROCEDURE UpdtDialog(theDialog: DialogRef; updateRgn: RgnHandle);
  389.     {$IFC NOT GENERATINGCFM}
  390.     INLINE $A978;
  391.     {$ENDC}
  392. PROCEDURE GetDItem(theDialog: DialogRef; itemNo: INTEGER; VAR itemType: INTEGER; VAR item: Handle; VAR box: Rect);
  393.     {$IFC NOT GENERATINGCFM}
  394.     INLINE $A98D;
  395.     {$ENDC}
  396. PROCEDURE SetDItem(theDialog: DialogRef; itemNo: INTEGER; itemType: INTEGER; item: Handle; {CONST}VAR box: Rect);
  397.     {$IFC NOT GENERATINGCFM}
  398.     INLINE $A98E;
  399.     {$ENDC}
  400. PROCEDURE HideDItem(theDialog: DialogRef; itemNo: INTEGER);
  401.     {$IFC NOT GENERATINGCFM}
  402.     INLINE $A827;
  403.     {$ENDC}
  404. PROCEDURE ShowDItem(theDialog: DialogRef; itemNo: INTEGER);
  405.     {$IFC NOT GENERATINGCFM}
  406.     INLINE $A828;
  407.     {$ENDC}
  408. PROCEDURE SelIText(theDialog: DialogRef; itemNo: INTEGER; strtSel: INTEGER; endSel: INTEGER);
  409.     {$IFC NOT GENERATINGCFM}
  410.     INLINE $A97E;
  411.     {$ENDC}
  412. PROCEDURE GetIText(item: Handle; VAR text: Str255);
  413.     {$IFC NOT GENERATINGCFM}
  414.     INLINE $A990;
  415.     {$ENDC}
  416. PROCEDURE SetIText(item: Handle; text: ConstStr255Param);
  417.     {$IFC NOT GENERATINGCFM}
  418.     INLINE $A98F;
  419.     {$ENDC}
  420. FUNCTION FindDItem(theDialog: DialogRef; thePt: Point): INTEGER;
  421.     {$IFC NOT GENERATINGCFM}
  422.     INLINE $A984;
  423.     {$ENDC}
  424. FUNCTION NewCDialog(dStorage: UNIV Ptr; {CONST}VAR boundsRect: Rect; title: ConstStr255Param; visible: BOOLEAN; procID: INTEGER; behind: WindowRef; goAwayFlag: BOOLEAN; refCon: LONGINT; items: Handle): DialogRef;
  425.     {$IFC NOT GENERATINGCFM}
  426.     INLINE $AA4B;
  427.     {$ENDC}
  428. PROCEDURE DlgCut(theDialog: DialogRef);
  429. PROCEDURE DlgPaste(theDialog: DialogRef);
  430. PROCEDURE DlgCopy(theDialog: DialogRef);
  431. PROCEDURE DlgDelete(theDialog: DialogRef);
  432. PROCEDURE SetDAFont(fontNum: INTEGER);
  433.     {$IFC NOT GENERATINGCFM}
  434.     INLINE $31DF, $0AFA;
  435.     {$ENDC}
  436. {$ELSEC}
  437. {$ENDC}
  438.  
  439. {$ALIGN RESET}
  440. {$POP}
  441.  
  442. {$SETC UsingIncludes := DialogsIncludes}
  443.  
  444. {$ENDC} {__DIALOGS__}
  445.  
  446. {$IFC NOT UsingIncludes}
  447.  END.
  448. {$ENDC}
  449.